Are suggestions from coupled file changes useful for perfective maintenance tasks?

نویسندگان

  • Jasmin Ramadani
  • Stefan Wagner
چکیده

Background. Software maintenance is an important activity in the development process where maintenance team members leave and new members join over time. The identification of files which are changed together frequently has been proposed several times. Yet, existing studies about coupled file changes ignore the feedback from developers as well as the impact of these changes on the performance of maintenance and rather these studies rely on the analysis findings and expert evaluation. Methods. We investigate the usefulness of coupled file changes during perfective maintenance tasks when developers are inexperienced in programming or when they were new on the project. Using data mining on software repositories we identify files that are changed most frequently together in the past. We extract coupled file changes from the Git repository of a Java software system and join them with corresponding attributes from the versioning and issue tracking system and the project documentation. We present a controlled experiment involving 36 student participants in which we investigate if coupled file change suggestions influence the correctness of the task solutions and the required time to complete them. Results. The results show that the use of coupled file change suggestions significantly increases the correctness of the solutions. However, there is only a minor effect on the time required to complete the perfective maintenance tasks. We also derived a set of the most useful attributes based on the developers’ feedback. Discussion. Coupled file changes and a limited number of the proposed attributes are useful for inexperienced developers working on perfective maintenance tasks where although the developers using these suggestions solved more tasks, they still need time to understand and organize this information. Subjects Data Science, Software Engineering

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Are coupled file changes suggestions useful?

4 Background. Software maintenance is an important activity in the 5 process of software engineering where over time maintenance team mem6 bers leave and new members join. The identification of files being changes 7 together frequently has been proposed several times. Yet, existing studies 8 about these file changes ignore the feedback from developers as well as 9 the impact on the performance ...

متن کامل

Virtual Community Use for Packaged Software Maintenance

In this study, we investigated the use of virtual communities for involving distributed customers in the maintenance of packaged software. On the basis of an empirical study, we suggest that virtual communities can be usefully leveraged for corrective, adaptive, and perfective software maintenance. Specifically, the virtual community allowed for quick discovery of bugs and a rich interaction be...

متن کامل

Are Suggestions of Coupled File Changes Interesting?

Software repositories include information which can be made available for bug fixing or maintenance using repository mining. The identification of coupled changes have been proposed several times. Yet, existing studies focus on the found couplings and ignore feedback from developers. We investigate three development projects and their repositories to find files that frequently change together t...

متن کامل

Automatic Classification of Large Changes into Maintenance Categories

Large software systems undergo significant evolution during their lifespan, yet often individual changes are not well documented. In this work, we seek to automatically classify large changes into various categories of maintenance tasks — corrective, adaptive, perfective, feature addition, and non-functional improvement — using machine learning techniques. In a previous paper, we found that man...

متن کامل

Identifying Reasons for Software Changes using Historic Databases

Large scale software products must constantly change in order to adapt to a changing environment. Studies of historic data from legacy software systems have identified three specific causes of this change: adding new features; correcting faults; and restructuring code to accommodate future changes. Our hypothesis is that a textual descriptionjeld of a change is essential to understanding why th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017